﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using CROSLAND.BL.BE;
using CROSLAND.BL.BC;
using System.Collections.Generic; //WEBDIST

namespace CROSLAND.WebApp
{
    public partial class Site2 : System.Web.UI.MasterPage
    {
        protected void Page_Init(object sender, EventArgs e)
        {
            this.validaLogin();
            //--- tomar usuario de sesión
            CredencialesController.Usuario = (UsuarioWebBE)Session["UsuarioWeb"];
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            Page.Header.Title = "Venta Mostrador - Crosland";
            //this.muestraMensajes();
            UsuarioWebBE objUsuario = CredencialesController.Usuario;

            if (!Page.IsPostBack)
            {
                lblNombreUsuario.Text = objUsuario.Descripcion;
                lblOrganizacionVenta.Text = objUsuario.OrgVentas;
                lblCanal.Text = objUsuario.CanalDist;
                lblOficina.Text = objUsuario.OfVentas;
                lblFecha.Text = ParametroBC.fechaLarga(DateTime.Today);
            }

            Funciones.GeneraOpcionesMenu(ref Menu1, objUsuario);
        }

        private void validaLogin()
        {
            if (Session["UsuarioWeb"] == null || Session["UsuarioSAP"] == null)
            {
                Response.Redirect("Login.aspx");
            }
        }

        public void muestraMensajes()
        {
            this.leeSesiones();
            this.actualizaPaneles();
            this.limpiaMensaje();
        }

        private void limpiaMensaje()
        {
            Session.Remove("Mensaje");
        }

        private void actualizaPaneles()
        {
            upMensaje.Update();
            upInformacion.Update();
        }

        private void leeSesiones()
        {
            if (Session["Mensaje"] != null)
            {
                lblMensaje.Text = Session["Mensaje"].ToString().Replace("\\n", "<br />");
                mpeMensaje.Show();
            }
            else
            {
                lblMensaje.Text = "";
                mpeMensaje.Hide();
            }

            //--- leer operación
            //if (Session["Operacion"] != null)
            //{
            //    PedidoBE objPedido = null;
            //    DocReclamoBE objReclamo = null;

            //    if (Session["tipoDoc"] == null)
            //        Session["tipoDoc"] = "P";

            //    if (((string)Session["tipoDoc"]).Equals("P"))
            //        objPedido = (PedidoBE)Session["Pedido"];
            //    else if (((string)Session["tipoDoc"]).Equals("R"))
            //        objReclamo = (DocReclamoBE)Session["DocReclamo"];

            //    switch (Session["Operacion"].ToString().ToLower())
            //    {
            //        case "crear":
            //            if (((string)Session["tipoDoc"]).Equals("P"))
            //                lblInformacion.Text = "Creando nuevo doc de ventas.";
            //            else if (((string)Session["tipoDoc"]).Equals("R"))
            //                lblInformacion.Text = "Creando nuevo reclamo.";
            //            break;
            //        case "ver":
            //            if (((string)Session["tipoDoc"]).Equals("P"))
            //                lblInformacion.Text = "Visualizando doc de ventas.";
            //            else if (((string)Session["tipoDoc"]).Equals("R"))
            //                lblInformacion.Text = "Visualizando el reclamo." + objReclamo.Contactos.VBELN;
            //            break;
            //        case "editar":
            //            if (((string)Session["tipoDoc"]).Equals("P"))
            //            {
            //                if (objPedido != null)
            //                {
            //                    lblInformacion.Text = "Editando doc de ventas: " + objPedido.NumPedido;
            //                }
            //                else
            //                {
            //                    lblInformacion.Text = "Error al intentar realizar la operación";
            //                }
            //            }
            //            else if (((string)Session["tipoDoc"]).Equals("R"))
            //            {
            //                if (objPedido != null)
            //                {
            //                    lblInformacion.Text = "Editando el reclamo: " + objReclamo.Contactos.VBELN;
            //                }
            //                else
            //                {
            //                    lblInformacion.Text = "Error al intentar realizar la operación";
            //                }
            //            }

            //            break;
            //        case "copiar":

            //            if (objPedido != null)
            //            {
            //                lblInformacion.Text = "Creando nuevo doc de ventas \r\n";
            //                lblInformacion.Text += "a partir del doc: " + objPedido.NumPedido;
            //            }
            //            else
            //            {
            //                lblInformacion.Text = "Error al intentar realizar la operación";
            //            }

            //            break;
            //        default:
            //            lblInformacion.Text = "No se está realizando ninguna operación.";
            //            break;
            //    }
            //}
            //else
            //{
            //    lblInformacion.Text = "No se está realizando ninguna operación.";
            //}

        }



        protected void MenuEx1_MenuItemClick(object sender, MenuEventArgs e)
        {
            switch (e.Item.Value)
            {
                case "Usuario":
                    Response.Redirect("~/Usuario.aspx");
                    return;
                case "Pedido":
                    Response.Redirect("~/DocVenta.aspx");
                    return;
                case "Materiales":
                    Response.Redirect("~/Materiales.aspx");
                    return;
                case "CrearPedido":
                    Response.Redirect("~/DocVenta.aspx");
                    return;
                case "BurcarPedido":
                case "BurcarCotPed":
                    Response.Redirect("~/BuscaCotPed.aspx");
                    return;
                case "RepPedidos":
                    Response.Redirect("~/BuscaDoc.aspx");
                    return;
                case "ListadoCamp":
                    Response.Redirect("~/ListaCampañas.aspx");
                    return;
                case "BurcarFacturas":
                    Response.Redirect("~/BuscaFact.aspx");
                    return;
                case "BurcarFacturasRep":
                    Response.Redirect("~/BuscaFactRep.aspx");
                    return;
                case "StockRepuesto":
                case "Stock":
                    Response.Redirect("~/Stock.aspx");
                    return;
                case "StockVMS":
                    Response.Redirect("~/StockVMS.aspx");
                    return;
                case "Reclamo":
                    Response.Redirect("~/MantReclamo.aspx");
                    return;
                case "BuscaReclamos":
                    Response.Redirect("~/BuscaReclamos.aspx");
                    return;
                case "MantReclamo":
                    Response.Redirect("~/MantReclamo.aspx");
                    return;
                case "Salir": //logout
                    Session.RemoveAll();
                    CredencialesController.Usuario = null;
                    Response.Redirect("~/Default.aspx");
                    return;
            }
        }
    }
}
